Rules for integrands of the form(((a+b x))^m)(((c+d x))^n)(((e+f x))^p)(((g+h x))^q)
when b c-a d≠0 ∧ b e-a f≠0 ∧ b g-a h≠0 ∧ d e-c f≠0 ∧ d g-c h≠0 ∧ f g-e h≠0

1.  ∫(((a+b x))^m)(((c+d x))^n)(((e+f x))^p)(g+h x)dx

1.  ∫(((a+b x))^m) (((c+d x))^n)(e+f x)(g+h x)dx

1:  ∫(((a+b x))^m)(((c+d x))^n)(e+f x)(g+h x)dx  when  m∈(SuperPlus[ℤ]) ∨ (m|n)∈ℤ

Derivation: Algebraic expansion

Rule 1.1.1.4.1.1.1: If  m∈(SuperPlus[ℤ]) ∨ (m|n)∈ℤ, then

∫(((a+b x))^m)(((c+d x))^n)(e+f x)(g+h x)dx  ⟶  
∫ExpandIntegrand[(((a+b x))^m)(((c+d x))^n)(e+f x)(g+h x),x]dx

Program code:

Int[(a_.+b_.*x_)^m_.*(c_.+d_.*x_)^n_.*(e_+f_.*x_)*(g_.+h_.*x_),x_Symbol] :=
  Int[ExpandIntegrand[(a+b*x)^m*(c+d*x)^n*(e+f*x)*(g+h*x),x],x] /;
FreeQ[{a,b,c,d,e,f,g,h},x] && (IGtQ[m,0] || IntegersQ[m,n])

2:  ∫(((a+b x))^m) (((c+d x))^n)(e+f x)(g+h x)dx  when m+n+2==0 ∧ m≠-1

Derivation: ???

Rule 1.1.1.4.1.1.2: If  m+n+2==0 ∧ m≠-1, then

∫(((a+b x))^m) (((c+d x))^n)(e+f x)(g+h x)dx  ⟶  

((((b^2) d e g-(a^2) d f h m-a b (d (f g+e h)-c f h (m+1))+b f h (b c-a d) (m+1) x) (((a+b x))^(m+1)) (((c+d x))^(n+1)))/((b^2) d (b c-a d) (m+1)))+

((a d f h m+b (d (f g+e h)-c f h (m+2)))/((b^2) d))∫(((a+b x))^(m+1)) (((c+d x))^n)dx

Program code:

Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_.*(e_+f_.*x_)*(g_.+h_.*x_),x_Symbol] :=
  (b^2*d*e*g-a^2*d*f*h*m-a*b*(d*(f*g+e*h)-c*f*h*(m+1))+b*f*h*(b*c-a*d)*(m+1)*x)*(a+b*x)^(m+1)*(c+d*x)^(n+1)/
    (b^2*d*(b*c-a*d)*(m+1)) + 
  (a*d*f*h*m+b*(d*(f*g+e*h)-c*f*h*(m+2)))/(b^2*d)*Int[(a+b*x)^(m+1)*(c+d*x)^n,x] /;
FreeQ[{a,b,c,d,e,f,g,h,m,n},x] && EqQ[m+n+2,0] && NeQ[m,-1] && (SumSimplerQ[m,1] || Not[SumSimplerQ[n,1]])

3.  ∫(((a+b x))^m) (((c+d x))^n)(e+f x)(g+h x)dx  when  m<-1

1:  ∫(((a+b x))^m) (((c+d x))^n)(e+f x)(g+h x)dx  when m<-1 ∧ n<-1

Derivation: ???

Rule 1.1.1.4.1.1.3.1: If  m<-1 ∧ n<-1, then

∫(((a+b x))^m) (((c+d x))^n)(e+f x)(g+h x)dx  ⟶  

(((b^2) c d e g (n+1)+(a^2) c d f h (n+1)+a b ((d^2) e g (m+1)+(c^2) f h (m+1)-c d (f g+e h) (m+n+2))+
     ((a^2) (d^2) f h (n+1)-a b (d^2) (f g+e h) (n+1)+(b^2) ((c^2) f h (m+1)-c d (f g+e h) (m+1)+(d^2) e g (m+n+2))) x)/(b d (((b c-a d))^2) (m+1) (n+1))) (((a+b x))^(m+1)) (((c+d x))^(n+1))-

(((a^2) (d^2) f h (2+3 n+(n^2))+a b d (n+1) (2 c f h (m+1)-d (f g+e h) (m+n+3))+
     (b^2) ((c^2) f h (2+3 m+(m^2))-c d (f g+e h) (m+1) (m+n+3)+(d^2) e g (6+(m^2)+5 n+(n^2)+m (2 n+5))))/(b d (((b c-a d))^2) (m+1) (n+1)))·
∫(((a+b x))^(m+1)) (((c+d x))^(n+1))dx

Program code:

Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_*(e_+f_.*x_)*(g_.+h_.*x_),x_Symbol] :=
  (b^2*c*d*e*g*(n+1)+a^2*c*d*f*h*(n+1)+a*b*(d^2*e*g*(m+1)+c^2*f*h*(m+1)-c*d*(f*g+e*h)*(m+n+2))+
      (a^2*d^2*f*h*(n+1)-a*b*d^2*(f*g+e*h)*(n+1)+b^2*(c^2*f*h*(m+1)-c*d*(f*g+e*h)*(m+1)+d^2*e*g*(m+n+2)))*x)/
    (b*d*(b*c-a*d)^2*(m+1)*(n+1))*(a+b*x)^(m+1)*(c+d*x)^(n+1) - 
  (a^2*d^2*f*h*(2+3*n+n^2)+a*b*d*(n+1)*(2*c*f*h*(m+1)-d*(f*g+e*h)*(m+n+3))+
      b^2*(c^2*f*h*(2+3*m+m^2)-c*d*(f*g+e*h)*(m+1)*(m+n+3)+d^2*e*g*(6+m^2+5*n+n^2+m*(2*n+5))))/
    (b*d*(b*c-a*d)^2*(m+1)*(n+1))*Int[(a+b*x)^(m+1)*(c+d*x)^(n+1),x] /;
FreeQ[{a,b,c,d,e,f,g,h},x] && LtQ[m,-1] && LtQ[n,-1]

2.  ∫(((a+b x))^m) (((c+d x))^n)(e+f x)(g+h x)dx when  m<-1 ∧ n≮-1

1:  ∫(((a+b x))^m) (((c+d x))^n)(e+f x)(g+h x)dx  when m<-2

Derivation: ???

Rule 1.1.1.4.1.1.3.2.1: If  m<-2, then

∫(((a+b x))^m) (((c+d x))^n)(e+f x)(g+h x)dx  ⟶  

(((b^3) c e g (m+2)-(a^3) d f h (n+2)-(a^2) b (c f h m-d (f g+e h) (m+n+3))-a (b^2) (c (f g+e h)+d e g (2 m+n+4))+
    b ((a^2) d f h (m-n)-a b (2 c f h (m+1)-d (f g+e h) (n+1))+(b^2) (c (f g+e h) (m+1)-d e g (m+n+2))) x)/((b^2) (((b c-a d))^2) (m+1) (m+2))) (((a+b x))^(m+1)) (((c+d x))^(n+1))+

(((f h)/(b^2))-((d (m+n+3) ((a^2) d f h (m-n)-a b (2 c f h (m+1)-d (f g+e h) (n+1))+(b^2) (c (f g+e h) (m+1)-d e g (m+n+2))))/((b^2) (((b c-a d))^2) (m+1) (m+2))))∫(((a+b x))^(m+2)) (((c+d x))^n)dx

Program code:

Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_.*(e_+f_.*x_)*(g_.+h_.*x_),x_Symbol] :=
  (b^3*c*e*g*(m+2)-a^3*d*f*h*(n+2)-a^2*b*(c*f*h*m-d*(f*g+e*h)*(m+n+3))-a*b^2*(c*(f*g+e*h)+d*e*g*(2*m+n+4))+
      b*(a^2*d*f*h*(m-n)-a*b*(2*c*f*h*(m+1)-d*(f*g+e*h)*(n+1))+b^2*(c*(f*g+e*h)*(m+1)-d*e*g*(m+n+2)))*x)/
    (b^2*(b*c-a*d)^2*(m+1)*(m+2))*(a+b*x)^(m+1)*(c+d*x)^(n+1) + 
  (f*h/b^2-(d*(m+n+3)*(a^2*d*f*h*(m-n)-a*b*(2*c*f*h*(m+1)-d*(f*g+e*h)*(n+1))+b^2*(c*(f*g+e*h)*(m+1)-d*e*g*(m+n+2))))/
      (b^2*(b*c-a*d)^2*(m+1)*(m+2)))*
    Int[(a+b*x)^(m+2)*(c+d*x)^n,x] /;
FreeQ[{a,b,c,d,e,f,g,h,m,n},x] && (LtQ[m,-2] || EqQ[m+n+3,0] && Not[LtQ[n,-2]])

2:  ∫(((a+b x))^m) (((c+d x))^n)(e+f x)(g+h x)dx  when -2≤m<-1

Derivation: ???

Rule 1.1.1.4.1.1.3.2.2: If  -2≤m<-1, then

∫(((a+b x))^m) (((c+d x))^n)(e+f x)(g+h x)dx  ⟶  

(((a^2) d f h (n+2)+(b^2) d e g (m+n+3)+a b (c f h (m+1)-d (f g+e h) (m+n+3))+b f h (b c-a d) (m+1) x)/((b^2) d (b c-a d) (m+1) (m+n+3))) (((a+b x))^(m+1)) (((c+d x))^(n+1))-

(((a^2) (d^2) f h (n+1) (n+2)+a b d (n+1) (2 c f h (m+1)-d (f g+e h) (m+n+3))+
    (b^2) ((c^2) f h (m+1) (m+2)-c d (f g+e h) (m+1) (m+n+3)+(d^2) e g (m+n+2) (m+n+3)))/((b^2) d (b c-a d) (m+1) (m+n+3)))∫(((a+b x))^(m+1)) (((c+d x))^n)dx

Program code:

Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_.*(e_+f_.*x_)*(g_.+h_.*x_),x_Symbol] :=
  (a^2*d*f*h*(n+2)+b^2*d*e*g*(m+n+3)+a*b*(c*f*h*(m+1)-d*(f*g+e*h)*(m+n+3))+b*f*h*(b*c-a*d)*(m+1)*x)/
    (b^2*d*(b*c-a*d)*(m+1)*(m+n+3))*(a+b*x)^(m+1)*(c+d*x)^(n+1) - 
  (a^2*d^2*f*h*(n+1)*(n+2)+a*b*d*(n+1)*(2*c*f*h*(m+1)-d*(f*g+e*h)*(m+n+3))+
      b^2*(c^2*f*h*(m+1)*(m+2)-c*d*(f*g+e*h)*(m+1)*(m+n+3)+d^2*e*g*(m+n+2)*(m+n+3)))/
    (b^2*d*(b*c-a*d)*(m+1)*(m+n+3))*Int[(a+b*x)^(m+1)*(c+d*x)^n,x] /;
FreeQ[{a,b,c,d,e,f,g,h,m,n},x] && (GeQ[m,-2] && LtQ[m,-1] || SumSimplerQ[m,1]) && NeQ[m,-1] && NeQ[m+n+3,0]

4:  ∫(((a+b x))^m) (((c+d x))^n)(e+f x)(g+h x)dx  when m≮-1 ∧ m+n+2≠0 ∧ m+n+3≠0

Derivation: ???

Rule 1.1.1.4.1.1.4: If  m≮-1 ∧ m+n+2≠0 ∧ m+n+3≠0, then

∫(((a+b x))^m) (((c+d x))^n)(e+f x)(g+h x)dx  ⟶  
-(((a d f h (n+2)+b c f h (m+2)-b d (f g+e h) (m+n+3)-b d f h (m+n+2) x) (((a+b x))^(m+1)) (((c+d x))^(n+1)))/((b^2) (d^2) (m+n+2) (m+n+3)))+
(((a^2) (d^2) f h (n+1) (n+2)+a b d (n+1) (2 c f h (m+1)-d (f g+e h) (m+n+3))+(b^2) ((c^2) f h (m+1) (m+2)-c d (f g+e h) (m+1) (m+n+3)+(d^2) e g (m+n+2) (m+n+3)))/((b^2) (d^2) (m+n+2) (m+n+3)))·
∫(((a+b x))^m) (((c+d x))^n)dx

Program code:

Int[(a_.+b_.*x_)^m_.*(c_.+d_.*x_)^n_.*(e_+f_.*x_)*(g_.+h_.*x_),x_Symbol] :=
  -(a*d*f*h*(n+2)+b*c*f*h*(m+2)-b*d*(f*g+e*h)*(m+n+3)-b*d*f*h*(m+n+2)*x)*(a+b*x)^(m+1)*(c+d*x)^(n+1)/
    (b^2*d^2*(m+n+2)*(m+n+3)) + 
  (a^2*d^2*f*h*(n+1)*(n+2)+a*b*d*(n+1)*(2*c*f*h*(m+1)-d*(f*g+e*h)*(m+n+3))+
      b^2*(c^2*f*h*(m+1)*(m+2)-c*d*(f*g+e*h)*(m+1)*(m+n+3)+d^2*e*g*(m+n+2)*(m+n+3)))/
    (b^2*d^2*(m+n+2)*(m+n+3))*Int[(a+b*x)^m*(c+d*x)^n,x] /;
FreeQ[{a,b,c,d,e,f,g,h,m,n},x] && NeQ[m+n+2,0] && NeQ[m+n+3,0]

2:  ∫(((a+b x))^m)(((c+d x))^n)(((e+f x))^p)(g+h x)dx  when  (m|n|p)∈ℤ ∨ (n|p)∈(SuperPlus[ℤ])

Derivation: Algebraic expansion

Rule 1.1.1.4.1.2: If  (m|n|p)∈ℤ ∨ (n|p)∈(SuperPlus[ℤ]), then

∫(((a+b x))^m)(((c+d x))^n)(((e+f x))^p)(g+h x)dx  ⟶  
∫ExpandIntegrand[(((a+b x))^m)(((c+d x))^n)(((e+f x))^p)(g+h x),x]dx

Program code:

Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_*(e_.+f_.*x_)^p_*(g_.+h_.*x_),x_Symbol] :=
  Int[ExpandIntegrand[(a+b*x)^m*(c+d*x)^n*(e+f*x)^p*(g+h*x),x],x] /;
FreeQ[{a,b,c,d,e,f,g,h,m},x] && (IntegersQ[m,n,p] || IGtQ[n,0] && IGtQ[p,0])

3.  ∫(((a+b x))^m)(((c+d x))^n)(((e+f x))^p)(g+h x)dx  when  m<-1

1:  ∫(((a+b x))^m) (((c+d x))^n)(((e+f x))^p)(g+h x)dx  when m<-1 ∧ n>0

Derivation: Nondegenerate trilinear recurrence 1

Rule 1.1.1.4.1.3.1: If  m<-1 ∧ n>0, then

∫(((a+b x))^m) (((c+d x))^n)(((e+f x))^p)(g+h x)dx  ⟶  
(((b g-a h) (((a+b x))^(m+1)) (((c+d x))^n) (((e+f x))^(p+1)))/(b (b e-a f) (m+1)))-
(1/(b (b e-a f) (m+1)))∫(((a+b x))^(m+1)) (((c+d x))^(n-1)) (((e+f x))^p)·
(b c (f g-e h) (m+1)+(b g-a h) (d e n+c f (p+1))+d (b (f g-e h) (m+1)+f (b g-a h) (n+p+1)) x)dx

Program code:

Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_*(e_.+f_.*x_)^p_*(g_.+h_.*x_),x_Symbol] :=
  (b*g-a*h)*(a+b*x)^(m+1)*(c+d*x)^n*(e+f*x)^(p+1)/(b*(b*e-a*f)*(m+1)) - 
  1/(b*(b*e-a*f)*(m+1))*Int[(a+b*x)^(m+1)*(c+d*x)^(n-1)*(e+f*x)^p*
    Simp[b*c*(f*g-e*h)*(m+1)+(b*g-a*h)*(d*e*n+c*f*(p+1))+d*(b*(f*g-e*h)*(m+1)+f*(b*g-a*h)*(n+p+1))*x,x],x] /;
FreeQ[{a,b,c,d,e,f,g,h,p},x] && ILtQ[m,-1] && GtQ[n,0]

Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_*(e_.+f_.*x_)^p_*(g_.+h_.*x_),x_Symbol] :=
  (b*g-a*h)*(a+b*x)^(m+1)*(c+d*x)^n*(e+f*x)^(p+1)/(b*(b*e-a*f)*(m+1)) - 
  1/(b*(b*e-a*f)*(m+1))*Int[(a+b*x)^(m+1)*(c+d*x)^(n-1)*(e+f*x)^p*
    Simp[b*c*(f*g-e*h)*(m+1)+(b*g-a*h)*(d*e*n+c*f*(p+1))+d*(b*(f*g-e*h)*(m+1)+f*(b*g-a*h)*(n+p+1))*x,x],x] /;
FreeQ[{a,b,c,d,e,f,g,h,p},x] && LtQ[m,-1] && GtQ[n,0] && IntegersQ[2*m,2*n,2*p]

2:  ∫(((a+b x))^m)(((c+d x))^n)(((e+f x))^p)(g+h x)dx  when m<-1 ∧ n≯0

Derivation: Nondegenerate trilinear recurrence 3

Rule 1.1.1.4.1.3.2: If  m<-1 ∧ n≯0, then

∫(((a+b x))^m) (((c+d x))^n)(((e+f x))^p)(g+h x)dx  ⟶  
(((b g-a h)(((a+b x))^(m+1)) (((c+d x))^(n+1))(((e+f x))^(p+1)))/((m+1)(b c-a d)(b e-a f)))+
(1/((m+1)(b c-a d)(b e-a f)))∫(((a+b x))^(m+1)) (((c+d x))^n)(((e+f x))^p)·
((a d f g-b (d e+c f) g+b c e h) (m+1)-(b g-a h) (d e (n+1)+c f (p+1))-d f(b g-a h)(m+n+p+3) x)dx

Program code:

Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_*(e_.+f_.*x_)^p_*(g_.+h_.*x_),x_Symbol] :=
  (b*g-a*h)*(a+b*x)^(m+1)*(c+d*x)^(n+1)*(e+f*x)^(p+1)/((m+1)*(b*c-a*d)*(b*e-a*f)) + 
  1/((m+1)*(b*c-a*d)*(b*e-a*f))*Int[(a+b*x)^(m+1)*(c+d*x)^n*(e+f*x)^p*
    Simp[(a*d*f*g-b*(d*e+c*f)*g+b*c*e*h)*(m+1)-(b*g-a*h)*(d*e*(n+1)+c*f*(p+1))-d*f*(b*g-a*h)*(m+n+p+3)*x,x],x] /;
FreeQ[{a,b,c,d,e,f,g,h,n,p},x] && ILtQ[m,-1]

Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_*(e_.+f_.*x_)^p_*(g_.+h_.*x_),x_Symbol] :=
  (b*g-a*h)*(a+b*x)^(m+1)*(c+d*x)^(n+1)*(e+f*x)^(p+1)/((m+1)*(b*c-a*d)*(b*e-a*f)) + 
  1/((m+1)*(b*c-a*d)*(b*e-a*f))*Int[(a+b*x)^(m+1)*(c+d*x)^n*(e+f*x)^p*
    Simp[(a*d*f*g-b*(d*e+c*f)*g+b*c*e*h)*(m+1)-(b*g-a*h)*(d*e*(n+1)+c*f*(p+1))-d*f*(b*g-a*h)*(m+n+p+3)*x,x],x] /;
FreeQ[{a,b,c,d,e,f,g,h,n,p},x] && LtQ[m,-1] && IntegersQ[2*m,2*n,2*p]

4:  ∫(((a+b x))^m)(((c+d x))^n)(((e+f x))^p)(g+h x)dx  when m>0 ∧ m+n+p+2≠0

Derivation: Nondegenerate trilinear recurrence 2

Rule 1.1.1.4.1.4: If  m>0 ∧ m+n+p+2≠0, then

∫(((a+b x))^m) (((c+d x))^n)(((e+f x))^p)(g+h x)dx  ⟶  
((h(((a+b x))^m) (((c+d x))^(n+1))(((e+f x))^(p+1)))/(d f(m+n+p+2)))+
(1/(d f(m+n+p+2)))∫(((a+b x))^(m-1)) (((c+d x))^n)(((e+f x))^p)·
(a d f g (m+n+p+2)-h (b c e m+a(d e(n+1)+c f(p+1)))+(b d f g(m+n+p+2)+h (a d f m-b(d e(m+n+1)+c f(m+p+1)))) x)dx

Program code:

Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_*(e_.+f_.*x_)^p_*(g_.+h_.*x_),x_Symbol] :=
  h*(a+b*x)^m*(c+d*x)^(n+1)*(e+f*x)^(p+1)/(d*f*(m+n+p+2)) + 
  1/(d*f*(m+n+p+2))*Int[(a+b*x)^(m-1)*(c+d*x)^n*(e+f*x)^p*
    Simp[a*d*f*g*(m+n+p+2)-h*(b*c*e*m+a*(d*e*(n+1)+c*f*(p+1)))+(b*d*f*g*(m+n+p+2)+h*(a*d*f*m-b*(d*e*(m+n+1)+c*f*(m+p+1))))*x,x],x] /;
FreeQ[{a,b,c,d,e,f,g,h,n,p},x] && GtQ[m,0] && NeQ[m+n+p+2,0] && IntegerQ[m]

Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_*(e_.+f_.*x_)^p_*(g_.+h_.*x_),x_Symbol] :=
  h*(a+b*x)^m*(c+d*x)^(n+1)*(e+f*x)^(p+1)/(d*f*(m+n+p+2)) + 
  1/(d*f*(m+n+p+2))*Int[(a+b*x)^(m-1)*(c+d*x)^n*(e+f*x)^p*
    Simp[a*d*f*g*(m+n+p+2)-h*(b*c*e*m+a*(d*e*(n+1)+c*f*(p+1)))+(b*d*f*g*(m+n+p+2)+h*(a*d*f*m-b*(d*e*(m+n+1)+c*f*(m+p+1))))*x,x],x] /;
FreeQ[{a,b,c,d,e,f,g,h,n,p},x] && GtQ[m,0] && NeQ[m+n+p+2,0] && IntegersQ[2*m,2*n,2*p]

5:  ∫(((a+b x))^m)(((c+d x))^n)(((e+f x))^p)(g+h x)dx  when m+n+p+2∈(SuperMinus[ℤ])∧ m≠-1

Derivation: Nondegenerate trilinear recurrence 3

Note: If  m+n+p+2∈(SuperMinus[ℤ]), then ∫(((a+b x))^m) (((c+d x))^n)(((e+f x))^p)(g+h x)dx can be expressed in terms of the hypergeometric function 2F1.

Rule 1.1.1.4.1.5: If  m+n+p+2∈(SuperMinus[ℤ])∧ m≠-1, then

∫(((a+b x))^m) (((c+d x))^n)(((e+f x))^p)(g+h x)dx  ⟶  
(((b g-a h)(((a+b x))^(m+1)) (((c+d x))^(n+1))(((e+f x))^(p+1)))/((m+1)(b c-a d)(b e-a f)))+
(1/((m+1)(b c-a d)(b e-a f)))∫(((a+b x))^(m+1)) (((c+d x))^n)(((e+f x))^p)·
((a d f g-b (d e+c f) g+b c e h) (m+1)-(b g-a h) (d e (n+1)+c f (p+1))-d f(b g-a h)(m+n+p+3) x)dx

Program code:

Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_*(e_.+f_.*x_)^p_*(g_.+h_.*x_),x_Symbol] :=
  (b*g-a*h)*(a+b*x)^(m+1)*(c+d*x)^(n+1)*(e+f*x)^(p+1)/((m+1)*(b*c-a*d)*(b*e-a*f)) + 
  1/((m+1)*(b*c-a*d)*(b*e-a*f))*Int[(a+b*x)^(m+1)*(c+d*x)^n*(e+f*x)^p*
    Simp[(a*d*f*g-b*(d*e+c*f)*g+b*c*e*h)*(m+1)-(b*g-a*h)*(d*e*(n+1)+c*f*(p+1))-d*f*(b*g-a*h)*(m+n+p+3)*x,x],x] /;
FreeQ[{a,b,c,d,e,f,g,h,n,p},x] && ILtQ[m+n+p+2,0] && NeQ[m,-1] && 
  (SumSimplerQ[m,1] || Not[NeQ[n,-1] && SumSimplerQ[n,1]] && Not[NeQ[p,-1] && SumSimplerQ[p,1]])

6.  ∫(((((c+d x))^n) (((e+f x))^p) (g+h x))/(a+b x))dx

?:  ∫(((((a+b x))^m) (((c+d x))^n) (g+h x))/(e+f x))dx  when  m+n+1∈(SuperPlus[ℤ])

Derivation: Algebraic expansion

Basis: (((((a+b x))^m) (((c+d x))^n) (g+h x))/(e+f x))==(((f g-e h) (((c f-d e))^(m+n+1)) (((a+b x))^m))/((f^(m+n+2)) (((c+d x))^(m+1)) (e+f x)))+((((a+b x))^m)/((f^(m+n+2)) (((c+d x))^(m+1))))(((f^(m+n+2))(((c+d x))^(m+n+1)) (g+h x)-(f g-e h) (((c f-d e))^(m+n+1))  )/(e+f x))

Note: If  m+n+1∈(SuperPlus[ℤ]), then (((f^(m+n+2))(((c+d x))^(m+n+1)) (g+h x)-(f g-e h) (((c f-d e))^(m+n+1))  )/(e+f x)) is a polynomial in x.

Rule 1.1.1.3.9.3: If  m+n+1∈(SuperPlus[ℤ]), then

∫(((((a+b x))^m) (((c+d x))^n) (g+h x))/(e+f x))dx  ⟶  
(((f g-e h) (((c f-d e))^(m+n+1)))/(f^(m+n+2))) ∫((((a+b x))^m)/((((c+d x))^(m+1)) (e+f x)))dx+(1/(f^(m+n+2))) ∫((((a+b x))^m)/(((c+d x))^(m+1)))(((f^(m+n+2))(((c+d x))^(m+n+1)) (g+h x)-(f g-e h) (((c f-d e))^(m+n+1))  )/(e+f x))dx

Program code:

Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_*(g_.+h_.*x_)/(e_.+f_.*x_),x_Symbol] :=
  (f*g-e*h)*(c*f-d*e)^(m+n+1)/f^(m+n+2)*Int[(a+b*x)^m/((c+d*x)^(m+1)*(e+f*x)),x] + 
  1/f^(m+n+2)*Int[(a+b*x)^m/(c+d*x)^(m+1)*
    ExpandToSum[(f^(m+n+2)*(c+d*x)^(m+n+1)*(g+h*x)-(f*g-e*h)*(c*f-d*e)^(m+n+1))/(e+f*x),x],x] /;
FreeQ[{a,b,c,d,e,f,g,h},x] && IGtQ[m+n+1,0] && (LtQ[m,0] || SumSimplerQ[m,1] || Not[SumSimplerQ[n,1]])

1:  ∫(((((e+f x))^p)(g+h x))/((a+b x)(c+d x)))dx

Derivation: Algebraic expansion

Basis: ((g+h x)/((a+b x) (c+d x)))==((b g-a h)/((b c-a d) (a+b x)))-((d g-c h)/((b c-a d) (c+d x)))

Rule 1.1.1.4.1.6.1:

∫(((((e+f x))^p)(g+h x))/((a+b x)(c+d x)))dx  ⟶  ((b g-a h)/(b c-a d))∫((((e+f x))^p)/(a+b x))dx-((d g-c h)/(b c-a d))∫((((e+f x))^p)/(c+d x))dx

Program code:

Int[(e_.+f_.*x_)^p_*(g_.+h_.*x_)/((a_.+b_.*x_)*(c_.+d_.*x_)),x_Symbol] :=
  (b*g-a*h)/(b*c-a*d)*Int[(e+f*x)^p/(a+b*x),x] - 
  (d*g-c*h)/(b*c-a*d)*Int[(e+f*x)^p/(c+d*x),x] /;
FreeQ[{a,b,c,d,e,f,g,h},x]

2:  ∫(((((c+d x))^n) (((e+f x))^p) (g+h x))/(a+b x))dx

Derivation: Algebraic expansion

Basis: ((g+h x)/(a+b x))==(h/b)+((b g-a h)/(b (a+b x)))

Rule 1.1.1.4.1.6.2:

∫(((((c+d x))^n) (((e+f x))^p) (g+h x))/(a+b x))dx  ⟶  (h/b)∫(((c+d x))^n)(((e+f x))^p)dx+((b g-a h)/b)∫(((((c+d x))^n) (((e+f x))^p))/(a+b x))dx

Program code:

Int[(c_.+d_.*x_)^n_*(e_.+f_.*x_)^p_*(g_.+h_.*x_)/(a_.+b_.*x_),x_Symbol] :=
  h/b*Int[(c+d*x)^n*(e+f*x)^p,x] + (b*g-a*h)/b*Int[(c+d*x)^n*(e+f*x)^p/(a+b*x),x] /;
FreeQ[{a,b,c,d,e,f,g,h,n,p},x]

7:  ∫(((a+b x))^m)(((c+d x))^n)(((e+f x))^p)(g+h x)dx

Derivation: Algebraic expansion

Basis: g+h x==((h (a+b x))/b)+((b g-a h)/b)

Note: For ((g+h x)/((Sqrt[a+b x]) (Sqrt[c+d x]) (Sqrt[e+f x]))), ensuring the simpler square-root factors remain in the denominator of the resulting integrands causes the two elliptic integrals in the antiderivative to have the same and simplest arguments.

Rule 1.1.1.4.1.7:

∫(((a+b x))^m)(((c+d x))^n)(((e+f x))^p)(g+h x)dx  ⟶  
(h/b)∫(((a+b x))^(m+1))(((c+d x))^n)(((e+f x))^p)dx+((b g-a h)/b)∫(((a+b x))^m)(((c+d x))^n)(((e+f x))^p)dx

Program code:

Int[(g_.+h_.*x_)/(Sqrt[a_.+b_.*x_]*Sqrt[c_+d_.*x_]*Sqrt[e_+f_.*x_]),x_Symbol] :=
  h/f*Int[Sqrt[e+f*x]/(Sqrt[a+b*x]*Sqrt[c+d*x]),x] + (f*g-e*h)/f*Int[1/(Sqrt[a+b*x]*Sqrt[c+d*x]*Sqrt[e+f*x]),x] /;
FreeQ[{a,b,c,d,e,f,g,h},x] && SimplerQ[a+b*x,e+f*x] && SimplerQ[c+d*x,e+f*x]

Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_*(e_.+f_.*x_)^p_*(g_.+h_.*x_),x_Symbol] :=
  h/b*Int[(a+b*x)^(m+1)*(c+d*x)^n*(e+f*x)^p,x] + (b*g-a*h)/b*Int[(a+b*x)^m*(c+d*x)^n*(e+f*x)^p,x] /;
FreeQ[{a,b,c,d,e,f,g,h,m,n,p},x] && (SumSimplerQ[m,1] || Not[SumSimplerQ[n,1]] && Not[SumSimplerQ[p,1]])

2.  ∫(((a+b x))^m)(((c+d x))^n)(((e+f x))^p)(((g+h x))^q)dx  when  2 m∈ℤ ∧ (n^2)==(1/4) ∧ (p^2)==(1/4) ∧ (q^2)==(1/4)

1.  ∫(((a+b x))^m) (((c+d x))^n) (Sqrt[e+f x]) (Sqrt[g+h x])dx  when  2 m∈ℤ ∧ (n^2)==(1/4)

1.  ∫(((a+b x))^m) (Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])dx  when  2 m∈ℤ

1:  ∫(((a+b x))^m) (Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])dx  when  2 m∈ℤ ∧ m<-1

Derivation: Integration by parts

Basis: (∂_x)((Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x]))==((d e g+c f g+c e h+2 (d f g+d e h+c f h) x+3 d f h (x^2))/(2 (Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))

Rule 1.1.1.4.2.1.1.1: If  2 m∈ℤ ∧ m<-1, then

∫(((a+b x))^m) (Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])dx  ⟶  

(((((a+b x))^(m+1)) (Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x]))/(b (m+1)))-(1/(2 b (m+1))) ∫(((((a+b x))^(m+1)) (d e g+c f g+c e h+2 (d f g+d e h+c f h) x+3 d f h (x^2)))/((Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))dx

Program code:

Int[(a_.+b_.*x_)^m_*Sqrt[c_.+d_.*x_]*Sqrt[e_.+f_.*x_]*Sqrt[g_.+h_.*x_],x_Symbol] :=
  (a+b*x)^(m+1)*Sqrt[c+d*x]*Sqrt[e+f*x]*Sqrt[g+h*x]/(b*(m+1)) - 
  1/(2*b*(m+1))*Int[(a+b*x)^(m+1)/(Sqrt[c+d*x]*Sqrt[e+f*x]*Sqrt[g+h*x])*
    Simp[d*e*g+c*f*g+c*e*h+2*(d*f*g+d*e*h+c*f*h)*x+3*d*f*h*x^2,x],x] /;
FreeQ[{a,b,c,d,e,f,g,h,m},x] && IntegerQ[2*m] && LtQ[m,-1]

2:  ∫(((a+b x))^m) (Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])dx  when  2 m∈ℤ ∧ m≮-1

Rule 1.1.1.4.2.1.1.2: If  2 m∈ℤ ∧ m≮-1, then

∫(((a+b x))^m) (Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])dx  ⟶  

((2 (((a+b x))^(m+1)) (Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x]))/(b (2 m+5)))+(1/(b (2 m+5))) ∫((((a+b x))^m)/((Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x]))) ·
(3 b c e g-a (d e g+c f g+c e h)+2 (b (d e g+c f g+c e h)-a (d f g+d e h+c f h)) x-(3 a d f h-b (d f g+d e h+c f h)) (x^2))dx

Program code:

Int[(a_.+b_.*x_)^m_*Sqrt[c_.+d_.*x_]*Sqrt[e_.+f_.*x_]*Sqrt[g_.+h_.*x_],x_Symbol] :=
  2*(a+b*x)^(m+1)*Sqrt[c+d*x]*Sqrt[e+f*x]*Sqrt[g+h*x]/(b*(2*m+5)) + 
  1/(b*(2*m+5))*Int[((a+b*x)^m)/(Sqrt[c+d*x]*Sqrt[e+f*x]*Sqrt[g+h*x])*
    Simp[3*b*c*e*g-a*(d*e*g+c*f*g+c*e*h)+2*(b*(d*e*g+c*f*g+c*e*h)-a*(d*f*g+d*e*h+c*f*h))*x-(3*a*d*f*h-b*(d*f*g+d*e*h+c*f*h))*x^2,x],x] /;
FreeQ[{a,b,c,d,e,f,g,h,m},x] && IntegerQ[2*m] && Not[LtQ[m,-1]]

2.  ∫(((((a+b x))^m) (Sqrt[e+f x]) (Sqrt[g+h x]))/(Sqrt[c+d x]))dx  when  2 m∈ℤ

1:  ∫(((((a+b x))^m) (Sqrt[e+f x]) (Sqrt[g+h x]))/(Sqrt[c+d x]))dx  when  2 m∈ℤ ∧ m>0

Rule 1.1.1.4.2.1.2.1: If  2 m∈ℤ ∧ m>0, then

∫(((((a+b x))^m) (Sqrt[e+f x]) (Sqrt[g+h x]))/(Sqrt[c+d x]))dx  ⟶  

((2 (((a+b x))^m) (Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x]))/(d (2 m+3)))-(1/(d (2 m+3))) ∫((((a+b x))^(m-1))/((Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))·
(2 b c e g m+a (c (f g+e h)-2 d e g (m+1))-
(b (2 d e g-c (f g+e h) (2 m+1))-a (2 c f h-d (2 m+1)(f g+e h))) x-
(2 a d f h m+b (d (f g+e h)-2 c f h (m+1))) (x^2))dx

Program code:

Int[(a_.+b_.*x_)^m_*Sqrt[e_.+f_.*x_]*Sqrt[g_.+h_.*x_]/Sqrt[c_.+d_.*x_],x_Symbol] :=
  2*(a+b*x)^m*Sqrt[c+d*x]*Sqrt[e+f*x]*Sqrt[g+h*x]/(d*(2*m+3)) - 
  1/(d*(2*m+3))*Int[((a+b*x)^(m-1)/(Sqrt[c+d*x]*Sqrt[e+f*x]*Sqrt[g+h*x]))*
    Simp[2*b*c*e*g*m+a*(c*(f*g+e*h)-2*d*e*g*(m+1)) - 
      (b*(2*d*e*g-c*(f*g+e*h)*(2*m+1))-a*(2*c*f*h-d*(2*m+1)*(f*g+e*h)))*x - 
      (2*a*d*f*h*m+b*(d*(f*g+e*h)-2*c*f*h*(m+1)))*x^2,x],x] /;
FreeQ[{a,b,c,d,e,f,g,h,m},x] && IntegerQ[2*m] && GtQ[m,0]

2.  ∫(((((a+b x))^m) (Sqrt[e+f x]) (Sqrt[g+h x]))/(Sqrt[c+d x]))dx  when  2 m∈ℤ ∧ m<0

1:  ∫(((Sqrt[e+f x]) (Sqrt[g+h x]))/((a+b x) (Sqrt[c+d x])))dx

Derivation: Algebraic expansion

Basis: (((Sqrt[e+f x]) (Sqrt[g+h x]))/(a+b x))==(((b e-a f) (b g-a h))/((b^2) (a+b x) (Sqrt[e+f x]) (Sqrt[g+h x])))+((b f g+b e h-a f h+b f h x)/((b^2) (Sqrt[e+f x]) (Sqrt[g+h x])))

Rule 1.1.1.4.2.1.2.2.1:

∫(((Sqrt[e+f x]) (Sqrt[g+h x]))/((a+b x) (Sqrt[c+d x])))dx  ⟶  (((b e-a f) (b g-a h))/(b^2)) ∫(1/((a+b x) (Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))dx+(1/(b^2)) ∫((b f g+b e h-a f h+b f h x)/((Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))dx

Program code:

Int[Sqrt[e_.+f_.*x_]*Sqrt[g_.+h_.*x_]/((a_.+b_.*x_)*Sqrt[c_.+d_.*x_]),x_Symbol] :=
  (b*e-a*f)*(b*g-a*h)/b^2*Int[1/((a+b*x)*Sqrt[c+d*x]*Sqrt[e+f*x]*Sqrt[g+h*x]),x] + 
  1/b^2*Int[Simp[b*f*g+b*e*h-a*f*h+b*f*h*x,x]/(Sqrt[c+d*x]*Sqrt[e+f*x]*Sqrt[g+h*x]),x] /;
FreeQ[{a,b,c,d,e,f,g,h},x]

2:  ∫(((((a+b x))^m) (Sqrt[e+f x]) (Sqrt[g+h x]))/(Sqrt[c+d x]))dx  when  2 m∈ℤ ∧ m<-1

Rule 1.1.1.4.2.1.2.2.2: If  2 m∈ℤ ∧ m<-1, then

∫(((((a+b x))^m) (Sqrt[e+f x]) (Sqrt[g+h x]))/(Sqrt[c+d x]))dx  ⟶  

(((((a+b x))^(m+1)) (Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x]))/((m+1) (b c-a d)))-(1/(2 (m+1) (b c-a d))) ∫((((a+b x))^(m+1))/((Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))·
(c (f g+e h)+d e g (2 m+3)+2 (c f h+d (m+2) (f g+e h)) x+d f h (2 m+5) (x^2))dx

Program code:

Int[(a_.+b_.*x_)^m_*Sqrt[e_.+f_.*x_]*Sqrt[g_.+h_.*x_]/Sqrt[c_.+d_.*x_],x_Symbol] :=
  (a+b*x)^(m+1)*Sqrt[c+d*x]*Sqrt[e+f*x]*Sqrt[g+h*x]/((m+1)*(b*c-a*d)) - 
  1/(2*(m+1)*(b*c-a*d))*Int[((a+b*x)^(m+1)/(Sqrt[c+d*x]*Sqrt[e+f*x]*Sqrt[g+h*x]))*
    Simp[c*(f*g+e*h)+d*e*g*(2*m+3)+2*(c*f*h+d*(m+2)*(f*g+e*h))*x+d*f*h*(2*m+5)*x^2,x],x] /;
FreeQ[{a,b,c,d,e,f,g,h,m},x] && IntegerQ[2*m] && LtQ[m,-1]

2.  ∫(((((a+b x))^m) (((c+d x))^n))/((Sqrt[e+f x]) (Sqrt[g+h x])))dx  when  2 m∈ℤ ∧ (n^2)==(1/4)

1.  ∫((((a+b x))^m)/((Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))dx  when  2 m∈ℤ

1.  ∫((((a+b x))^m)/((Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))dx  when  2 m∈ℤ ∧ m>0

1:  ∫((Sqrt[a+b x])/((Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))dx

Derivation: Piecewise constant extraction and integration by substitution

Basis: (∂_x)(((a+b x) (Sqrt[(((b g-a h) (c+d x))/((d g-c h) (a+b x)))]) (Sqrt[(((b g-a h) (e+f x))/((f g-e h) (a+b x)))]))/((Sqrt[c+d x]) (Sqrt[e+f x])))==0

Basis: (1/((Sqrt[a+b x]) (Sqrt[(((b g-a h) (c+d x))/((d g-c h) (a+b x)))]) (Sqrt[(((b g-a h) (e+f x))/((f g-e h) (a+b x)))]) (Sqrt[g+h x])))==2 Subst[(1/((h-b (x^2)) (Sqrt[1+(((b c-a d) (x^2))/(d g-c h))]) (Sqrt[1+(((b e-a f) (x^2))/(f g-e h))]))),x,((Sqrt[g+h x])/(Sqrt[a+b x]))] (∂_x)((Sqrt[g+h x])/(Sqrt[a+b x]))

Rule 1.1.1.4.2.2.1.1.1:

∫((Sqrt[a+b x])/((Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))dx  ⟶  (((a+b x) (Sqrt[(((b g-a h) (c+d x))/((d g-c h) (a+b x)))]) (Sqrt[(((b g-a h) (e+f x))/((f g-e h) (a+b x)))]))/((Sqrt[c+d x]) (Sqrt[e+f x]))) ∫(1/((Sqrt[a+b x]) (Sqrt[(((b g-a h) (c+d x))/((d g-c h) (a+b x)))]) (Sqrt[(((b g-a h) (e+f x))/((f g-e h) (a+b x)))]) (Sqrt[g+h x])))dx
  ⟶  ((2 (a+b x) (Sqrt[(((b g-a h) (c+d x))/((d g-c h) (a+b x)))]) (Sqrt[(((b g-a h) (e+f x))/((f g-e h) (a+b x)))]))/((Sqrt[c+d x]) (Sqrt[e+f x]))) Subst[∫(1/((h-b (x^2)) (Sqrt[1+(((b c-a d) (x^2))/(d g-c h))]) (Sqrt[1+(((b e-a f) (x^2))/(f g-e h))])))dx,x,((Sqrt[g+h x])/(Sqrt[a+b x]))]

Program code:

Int[Sqrt[a_.+b_.*x_]/(Sqrt[c_.+d_.*x_]*Sqrt[e_.+f_.*x_]*Sqrt[g_.+h_.*x_]),x_Symbol] :=
  2*(a+b*x)*Sqrt[(b*g-a*h)*(c+d*x)/((d*g-c*h)*(a+b*x))]*Sqrt[(b*g-a*h)*(e+f*x)/((f*g-e*h)*(a+b*x))]/(Sqrt[c+d*x]*Sqrt[e+f*x])*
    Subst[Int[1/((h-b*x^2)*Sqrt[1+(b*c-a*d)*x^2/(d*g-c*h)]*Sqrt[1+(b*e-a*f)*x^2/(f*g-e*h)]),x],x,Sqrt[g+h*x]/Sqrt[a+b*x]] /;
FreeQ[{a,b,c,d,e,f,g,h},x]

2:  ∫((((a+b x))^(3/2))/((Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))dx

Derivation: Algebraic expansion

Basis: ((((a+b x))^(3/2))/(Sqrt[c+d x]))==((b (Sqrt[a+b x]) (Sqrt[c+d x]))/d)-(((b c-a d) (Sqrt[a+b x]))/(d (Sqrt[c+d x])))

Rule 1.1.1.4.2.2.1.1.2:

∫((((a+b x))^(3/2))/((Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))dx  ⟶  (b/d) ∫(((Sqrt[a+b x]) (Sqrt[c+d x]))/((Sqrt[e+f x]) (Sqrt[g+h x])))dx-(((b c-a d) )/d) ∫((Sqrt[a+b x])/((Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))dx

Program code:

Int[(a_.+b_.*x_)^(3/2)/(Sqrt[c_.+d_.*x_]*Sqrt[e_.+f_.*x_]*Sqrt[g_.+h_.*x_]),x_Symbol] :=
  b/d*Int[Sqrt[a+b*x]*Sqrt[c+d*x]/(Sqrt[e+f*x]*Sqrt[g+h*x]),x] - 
  (b*c-a*d)/d*Int[Sqrt[a+b*x]/(Sqrt[c+d*x]*Sqrt[e+f*x]*Sqrt[g+h*x]),x] /;
FreeQ[{a,b,c,d,e,f,g,h},x]

3:  ∫((((a+b x))^m)/((Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))dx  when  2 m∈ℤ ∧ m≥2

Rule 1.1.1.4.2.2.1.1.3: If  2 m∈ℤ ∧ m≥2, then

∫((((a+b x))^m)/((Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))dx  ⟶  

((2 (b^2) (((a+b x))^(m-2)) (Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x]))/(d f h (2 m-1)))-(1/(d f h (2 m-1)))∫((((a+b x))^(m-3))/((Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))·
(a (b^2) (d e g+c f g+c e h)+2 (b^3) c e g (m-2)-(a^3) d f h (2 m-1)+
b (2 a b (d f g+d e h+c f h)+(b^2) (2 m-3) (d e g+c f g+c e h)-3 (a^2) d f h (2 m-1)) x-
2 (b^2) (m-1) (3 a d f h-b (d f g+d e h+c f h)) (x^2))dx

Program code:

Int[(a_.+b_.*x_)^m_/(Sqrt[c_.+d_.*x_]*Sqrt[e_.+f_.*x_]*Sqrt[g_.+h_.*x_]),x_Symbol] :=
  2*b^2*(a+b*x)^(m-2)*Sqrt[c+d*x]*Sqrt[e+f*x]*Sqrt[g+h*x]/(d*f*h*(2*m-1)) - 
  1/(d*f*h*(2*m-1))*Int[((a+b*x)^(m-3)/(Sqrt[c+d*x]*Sqrt[e+f*x]*Sqrt[g+h*x]))*
    Simp[a*b^2*(d*e*g+c*f*g+c*e*h)+2*b^3*c*e*g*(m-2)-a^3*d*f*h*(2*m-1) + 
      b*(2*a*b*(d*f*g+d*e*h+c*f*h)+b^2*(2*m-3)*(d*e*g+c*f*g+c*e*h)-3*a^2*d*f*h*(2*m-1))*x - 
      2*b^2*(m-1)*(3*a*d*f*h-b*(d*f*g+d*e*h+c*f*h))*x^2,x],x] /;
FreeQ[{a,b,c,d,e,f,g,h},x] && IntegerQ[2*m] && GeQ[m,2]

2.  ∫((((a+b x))^m)/((Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))dx  when  2 m∈ℤ ∧ m<0

1:  ∫(1/((a+b x) (Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))dx

Derivation: Integration by substitution

Basis: ((F[x])/(Sqrt[c+d x]))==(2/d) Subst[F[-((c-(x^2))/d)],x,(Sqrt[c+d x])] (∂_x)(Sqrt[c+d x])

Rule 1.1.1.4.2.2.1.2.1:

∫(1/((a+b x) (Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))dx  ⟶  -2 Subst[∫(1/((b c-a d-b (x^2)) (Sqrt[((d e-c f)/d)+((f (x^2))/d)]) (Sqrt[((d g-c h)/d)+((h (x^2))/d)])))dx,x,(Sqrt[c+d x])]

Program code:

Int[1/((a_.+b_.*x_)*Sqrt[c_.+d_.*x_]*Sqrt[e_.+f_.*x_]*Sqrt[g_.+h_.*x_]),x_Symbol] :=
  -2*Subst[Int[1/(Simp[b*c-a*d-b*x^2,x]*Sqrt[Simp[(d*e-c*f)/d+f*x^2/d,x]]*Sqrt[Simp[(d*g-c*h)/d+h*x^2/d,x]]),x],x,Sqrt[c+d*x]] /;
FreeQ[{a,b,c,d,e,f,g,h},x] && GtQ[(d*e-c*f)/d,0]

Int[1/((a_.+b_.*x_)*Sqrt[c_.+d_.*x_]*Sqrt[e_.+f_.*x_]*Sqrt[g_.+h_.*x_]),x_Symbol] :=
  -2*Subst[Int[1/(Simp[b*c-a*d-b*x^2,x]*Sqrt[Simp[(d*e-c*f)/d+f*x^2/d,x]]*Sqrt[Simp[(d*g-c*h)/d+h*x^2/d,x]]),x],x,Sqrt[c+d*x]] /;
FreeQ[{a,b,c,d,e,f,g,h},x] && Not[SimplerQ[e+f*x,c+d*x]] && Not[SimplerQ[g+h*x,c+d*x]]

x:  ∫(1/((Sqrt[a+b x]) (Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))dx

Derivation: Piecewise constant extraction and integration by substitution

Basis: (∂_x)(((Sqrt[e+f x]) (Sqrt[(((b g-a h) (c+d x))/((d g-c h) (a+b x)))]))/((Sqrt[c+d x]) (Sqrt[(((b g-a h) (e+f x))/((f g-e h) (a+b x)))])))==0

Basis: (1/((((a+b x))^(3/2)) (Sqrt[g+h x]) (Sqrt[(((b g-a h) (c+d x))/((d g-c h) (a+b x)))]) (Sqrt[(((b g-a h) (e+f x))/((f g-e h) (a+b x)))])))==-(2/(b g-a h))Subst[(1/((Sqrt[1+(((b c-a d) (x^2))/(d g-c h))]) (Sqrt[1+(((b e-a f) (x^2))/(f g-e h))]))),x,((Sqrt[g+h x])/(Sqrt[a+b x]))] (∂_x)((Sqrt[g+h x])/(Sqrt[a+b x]))

Rule 1.1.1.4.2.2.1.2.2:

∫(1/((Sqrt[a+b x]) (Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))dx  ⟶  (((a+b x) (Sqrt[(((b g-a h) (c+d x))/((d g-c h) (a+b x)))]) (Sqrt[(((b g-a h) (e+f x))/((f g-e h) (a+b x)))]))/((Sqrt[c+d x]) (Sqrt[e+f x]))) ∫(1/((((a+b x))^(3/2)) (Sqrt[g+h x]) (Sqrt[(((b g-a h) (c+d x))/((d g-c h) (a+b x)))]) (Sqrt[(((b g-a h) (e+f x))/((f g-e h) (a+b x)))])))dx
  ⟶  -((2 (a+b x) (Sqrt[(((b g-a h) (c+d x))/((d g-c h) (a+b x)))]) (Sqrt[(((b g-a h) (e+f x))/((f g-e h) (a+b x)))]))/((b g-a h) (Sqrt[c+d x]) (Sqrt[e+f x]))) Subst[∫(1/((Sqrt[1+(((b c-a d) (x^2))/(d g-c h))]) (Sqrt[1+(((b e-a f) (x^2))/(f g-e h))])))dx,x,((Sqrt[g+h x])/(Sqrt[a+b x]))]

Program code:

(* Int[1/(Sqrt[a_.+b_.*x_]*Sqrt[c_.+d_.*x_]*Sqrt[e_.+f_.*x_]*Sqrt[g_.+h_.*x_]),x_Symbol] :=
  -2*(a+b*x)*Sqrt[(b*g-a*h)*(c+d*x)/((d*g-c*h)*(a+b*x))]*Sqrt[(b*g-a*h)*(e+f*x)/((f*g-e*h)*(a+b*x))]/
    ((b*g-a*h)*Sqrt[c+d*x]*Sqrt[e+f*x])*
    Subst[Int[1/(Sqrt[1+(b*c-a*d)*x^2/(d*g-c*h)]*Sqrt[1+(b*e-a*f)*x^2/(f*g-e*h)]),x],x,Sqrt[g+h*x]/Sqrt[a+b*x]] /;
FreeQ[{a,b,c,d,e,f,g,h},x] *)

2:  ∫(1/((Sqrt[a+b x]) (Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))dx

Derivation: Piecewise constant extraction and integration by substitution

Basis: (∂_x)(((Sqrt[g+h x]) (Sqrt[(((b e-a f) (c+d x))/((d e-c f) (a+b x)))]))/((Sqrt[c+d x]) (Sqrt[-(((b e-a f) (g+h x))/((f g-e h) (a+b x)))])))==0

Basis: (1/((((a+b x))^(3/2)) (Sqrt[e+f x]) (Sqrt[(((b e-a f) (c+d x))/((d e-c f) (a+b x)))]) (Sqrt[(((-b e+a f) (g+h x))/((f g-e h) (a+b x)))])))==-(2/(b e-a f))Subst[(1/((Sqrt[1+(((b c-a d) (x^2))/(d e-c f))]) (Sqrt[1-(((b g-a h) (x^2))/(f g-e h))]))),x,((Sqrt[e+f x])/(Sqrt[a+b x]))] (∂_x)((Sqrt[e+f x])/(Sqrt[a+b x]))

Rule 1.1.1.4.2.2.1.2.2:

∫(1/((Sqrt[a+b x]) (Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))dx  ⟶  -(((b e-a f) (Sqrt[g+h x]) (Sqrt[(((b e-a f) (c+d x))/((d e-c f) (a+b x)))]))/((f g-e h) (Sqrt[c+d x]) (Sqrt[-(((b e-a f) (g+h x))/((f g-e h) (a+b x)))]))) ∫(1/((((a+b x))^(3/2)) (Sqrt[e+f x]) (Sqrt[(((b e-a f) (c+d x))/((d e-c f) (a+b x)))]) (Sqrt[(((-b e+a f) (g+h x))/((f g-e h) (a+b x)))])))dx
  ⟶  ((2 (Sqrt[g+h x]) (Sqrt[(((b e-a f) (c+d x))/((d e-c f) (a+b x)))]))/((f g-e h) (Sqrt[c+d x]) (Sqrt[-(((b e-a f) (g+h x))/((f g-e h) (a+b x)))]))) Subst[∫(1/((Sqrt[1+(((b c-a d) (x^2))/(d e-c f))]) (Sqrt[1-(((b g-a h) (x^2))/(f g-e h))])))dx,x,((Sqrt[e+f x])/(Sqrt[a+b x]))]

Program code:

Int[1/(Sqrt[a_.+b_.*x_]*Sqrt[c_.+d_.*x_]*Sqrt[e_.+f_.*x_]*Sqrt[g_.+h_.*x_]),x_Symbol] :=
  2*Sqrt[g+h*x]*Sqrt[(b*e-a*f)*(c+d*x)/((d*e-c*f)*(a+b*x))]/
    ((f*g-e*h)*Sqrt[c+d*x]*Sqrt[-(b*e-a*f)*(g+h*x)/((f*g-e*h)*(a+b*x))])*
    Subst[Int[1/(Sqrt[1+(b*c-a*d)*x^2/(d*e-c*f)]*Sqrt[1-(b*g-a*h)*x^2/(f*g-e*h)]),x],x,Sqrt[e+f*x]/Sqrt[a+b*x]] /;
FreeQ[{a,b,c,d,e,f,g,h},x]

3:  ∫(1/((((a+b x))^(3/2)) (Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))dx

Derivation: Algebraic expansion

Basis: (1/((((a+b x))^(3/2)) (Sqrt[c+d x])))==-(d/((b c-a d) (Sqrt[a+b x]) (Sqrt[c+d x])))+((b (Sqrt[c+d x]))/((b c-a d) (((a+b x))^(3/2))))

Rule 1.1.1.4.2.2.1.2.3:

∫(1/((((a+b x))^(3/2)) (Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))dx  ⟶  

-(d/(b c-a d)) ∫(1/((Sqrt[a+b x]) (Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))dx+(b/(b c-a d)) ∫((Sqrt[c+d x])/((((a+b x))^(3/2)) (Sqrt[e+f x]) (Sqrt[g+h x])))dx

Program code:

Int[1/((a_.+b_.*x_)^(3/2)*Sqrt[c_.+d_.*x_]*Sqrt[e_.+f_.*x_]*Sqrt[g_.+h_.*x_]),x_Symbol] :=
  -d/(b*c-a*d)*Int[1/(Sqrt[a+b*x]*Sqrt[c+d*x]*Sqrt[e+f*x]*Sqrt[g+h*x]),x] + 
  b/(b*c-a*d)*Int[Sqrt[c+d*x]/((a+b*x)^(3/2)*Sqrt[e+f*x]*Sqrt[g+h*x]),x] /;
FreeQ[{a,b,c,d,e,f,g,h},x]

4:  ∫((((a+b x))^m)/((Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))dx  when  2 m∈ℤ ∧ m≤-2

Rule 1.1.1.4.2.2.1.2.4: If  2 m∈ℤ ∧ m≤-2, then

∫((((a+b x))^m)/((Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))dx  ⟶  

(((b^2) (((a+b x))^(m+1)) (Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x]))/((m+1) (b c-a d) (b e-a f) (b g-a h)))-(1/(2 (m+1) (b c-a d) (b e-a f) (b g-a h))) ∫((((a+b x))^(m+1))/((Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))·
(2 (a^2) d f h (m+1)-2 a b (m+1) (d f g+d e h+c f h)+(b^2) (2 m+3) (d e g+c f g+c e h)-2 b (a d f h (m+1)-b (m+2) (d f g+d e h+c f h)) x+d f h (b^2) (2 m+5) (x^2))dx

Program code:

Int[(a_.+b_.*x_)^m_/(Sqrt[c_.+d_.*x_]*Sqrt[e_.+f_.*x_]*Sqrt[g_.+h_.*x_]),x_Symbol] :=
  b^2*(a+b*x)^(m+1)*Sqrt[c+d*x]*Sqrt[e+f*x]*Sqrt[g+h*x]/((m+1)*(b*c-a*d)*(b*e-a*f)*(b*g-a*h)) - 
  1/(2*(m+1)*(b*c-a*d)*(b*e-a*f)*(b*g-a*h))*Int[((a+b*x)^(m+1)/(Sqrt[c+d*x]*Sqrt[e+f*x]*Sqrt[g+h*x]))*
    Simp[2*a^2*d*f*h*(m+1)-2*a*b*(m+1)*(d*f*g+d*e*h+c*f*h)+b^2*(2*m+3)*(d*e*g+c*f*g+c*e*h) - 
      2*b*(a*d*f*h*(m+1)-b*(m+2)*(d*f*g+d*e*h+c*f*h))*x + d*f*h*(2*m+5)*b^2*x^2,x],x] /;
FreeQ[{a,b,c,d,e,f,g,h},x] && IntegerQ[2*m] && LeQ[m,-2]

2.  ∫(((((a+b x))^m) (Sqrt[c+d x]))/((Sqrt[e+f x]) (Sqrt[g+h x])))dx  when  2 m∈ℤ

1.  ∫(((((a+b x))^m) (Sqrt[c+d x]))/((Sqrt[e+f x]) (Sqrt[g+h x])))dx  when  2 m∈ℤ ∧ m>0

1:  ∫(((Sqrt[a+b x]) (Sqrt[c+d x]))/((Sqrt[e+f x]) (Sqrt[g+h x])))dx

Derivation: Algebraic expansion

Basis: (((Sqrt[a+b x]) (Sqrt[c+d x]))/((Sqrt[e+f x]) (Sqrt[g+h x])))==(∂_x)(((Sqrt[a+b x]) (Sqrt[c+d x]) (Sqrt[g+h x]))/(h (Sqrt[e+f x])))+(((d e-c f) (b f g+b e h-2 a f h))/(2 (f^2) h (Sqrt[a+b x]) (Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))+(((a d f h-b (d f g+d e h-c f h)) (Sqrt[e+f x]))/(2 (f^2) h (Sqrt[a+b x]) (Sqrt[c+d x]) (Sqrt[g+h x])))-(((d e-c f) (f g-e h) (Sqrt[a+b x]))/(2 f h (Sqrt[c+d x]) (((e+f x))^(3/2)) (Sqrt[g+h x])))

Basis: (((Sqrt[a+b x]) (Sqrt[c+d x]))/((Sqrt[e+f x]) (Sqrt[g+h x])))==(∂_x)((b (Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x]))/(f h (Sqrt[a+b x])))+(((b c-a d) (b e-a f) (b g-a h))/(2 b f h (((a+b x))^(3/2)) (Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))-(((b d e h+f (b d g-b c h-a d h)) (Sqrt[a+b x]))/(2 b f h (Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))

Rule 1.1.1.4.2.2.2.1.1:

∫(((Sqrt[a+b x]) (Sqrt[c+d x]))/((Sqrt[e+f x]) (Sqrt[g+h x])))dx  ⟶  

(((Sqrt[a+b x]) (Sqrt[c+d x]) (Sqrt[g+h x]))/(h (Sqrt[e+f x])))+(((d e-c f) (b f g+b e h-2 a f h))/(2 (f^2) h)) ∫(1/((Sqrt[a+b x]) (Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))dx+
(((a d f h-b (d f g+d e h-c f h)))/(2 (f^2) h)) ∫((Sqrt[e+f x])/((Sqrt[a+b x]) (Sqrt[c+d x]) (Sqrt[g+h x])))dx-(((d e-c f) (f g-e h) )/(2 f h)) ∫((Sqrt[a+b x])/((Sqrt[c+d x]) (((e+f x))^(3/2)) (Sqrt[g+h x])))dx

Program code:

Int[Sqrt[a_.+b_.*x_]*Sqrt[c_.+d_.*x_]/(Sqrt[e_.+f_.*x_]*Sqrt[g_.+h_.*x_]),x_Symbol] :=
  Sqrt[a+b*x]*Sqrt[c+d*x]*Sqrt[g+h*x]/(h*Sqrt[e+f*x]) + 
  (d*e-c*f)*(b*f*g+b*e*h-2*a*f*h)/(2*f^2*h)*Int[1/(Sqrt[a+b*x]*Sqrt[c+d*x]*Sqrt[e+f*x]*Sqrt[g+h*x]),x] + 
  (a*d*f*h-b*(d*f*g+d*e*h-c*f*h))/(2*f^2*h)*Int[Sqrt[e+f*x]/(Sqrt[a+b*x]*Sqrt[c+d*x]*Sqrt[g+h*x]),x] - 
  (d*e-c*f)*(f*g-e*h)/(2*f*h)*Int[Sqrt[a+b*x]/(Sqrt[c+d*x]*(e+f*x)^(3/2)*Sqrt[g+h*x]),x] /;
FreeQ[{a,b,c,d,e,f,g,h},x]

2:  ∫(((((a+b x))^m) (Sqrt[c+d x]))/((Sqrt[e+f x]) (Sqrt[g+h x])))dx  when  2 m∈ℤ ∧ m>1

Rule 1.1.1.4.2.2.2.1.2: If  2 m∈ℤ ∧ m>1, then

∫(((((a+b x))^m) (Sqrt[c+d x]))/((Sqrt[e+f x]) (Sqrt[g+h x])))dx  ⟶  

((2 b (((a+b x))^(m-1)) (Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x]))/(f h (2 m+1)))-(1/(f h (2 m+1)))∫((((a+b x))^(m-2))/((Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))·
(a b (d e g+c (f g+e h))+2 (b^2) c e g (m-1)-(a^2) c f h (2 m+1)+
((b^2) (2 m-1) (d e g+c (f g+e h))-(a^2) d f h (2 m+1)+2 a b (d f g+d e h-2 c f h m)) x-
b (a d f h (4 m-1)+b (c f h-2 d (f g+e h) m)) (x^2))dx

Program code:

Int[(a_.+b_.*x_)^m_*Sqrt[c_.+d_.*x_]/(Sqrt[e_.+f_.*x_]*Sqrt[g_.+h_.*x_]),x_Symbol] :=
  2*b*(a+b*x)^(m-1)*Sqrt[c+d*x]*Sqrt[e+f*x]*Sqrt[g+h*x]/(f*h*(2*m+1)) - 
  1/(f*h*(2*m+1))*Int[((a+b*x)^(m-2)/(Sqrt[c+d*x]*Sqrt[e+f*x]*Sqrt[g+h*x]))*
    Simp[a*b*(d*e*g+c*(f*g+e*h))+2*b^2*c*e*g*(m-1)-a^2*c*f*h*(2*m+1) + 
    (b^2*(2*m-1)*(d*e*g+c*(f*g+e*h))-a^2*d*f*h*(2*m+1)+2*a*b*(d*f*g+d*e*h-2*c*f*h*m))*x - 
    b*(a*d*f*h*(4*m-1)+b*(c*f*h-2*d*(f*g+e*h)*m))*x^2,x],x] /;
FreeQ[{a,b,c,d,e,f,g,h,m},x] && IntegerQ[2*m] && GtQ[m,1]

2.  ∫(((((a+b x))^m) (Sqrt[c+d x]))/((Sqrt[e+f x]) (Sqrt[g+h x])))dx  when  2 m∈ℤ ∧ m<0

1:  ∫((Sqrt[c+d x])/((a+b x) (Sqrt[e+f x]) (Sqrt[g+h x])))dx

Derivation: Algebraic expansion

Basis: ((Sqrt[c+d x])/(a+b x))==(d/(b (Sqrt[c+d x])))+((b c-a d)/(b (a+b x) (Sqrt[c+d x])))

Rule 1.1.1.4.2.2.2.2.1:

∫((Sqrt[c+d x])/((a+b x) (Sqrt[e+f x]) (Sqrt[g+h x])))dx  ⟶  (d/( b)) ∫(1/((Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))dx+((b c-a d)/b) ∫(1/((a+b x) (Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))dx

Program code:

Int[Sqrt[c_.+d_.*x_]/((a_.+b_.*x_)*Sqrt[e_.+f_.*x_]*Sqrt[g_.+h_.*x_]),x_Symbol] :=
  d/b*Int[1/(Sqrt[c+d*x]*Sqrt[e+f*x]*Sqrt[g+h*x]),x] + 
  (b*c-a*d)/b*Int[1/((a+b*x)*Sqrt[c+d*x]*Sqrt[e+f*x]*Sqrt[g+h*x]),x] /;
FreeQ[{a,b,c,d,e,f,g,h},x]

x:  ∫((Sqrt[c+d x])/((((a+b x))^(3/2)) (Sqrt[e+f x]) (Sqrt[g+h x])))dx

Derivation: Piecewise constant extraction and integration by substitution

Basis: (∂_x)(((Sqrt[c+d x]) (Sqrt[(((b g-a h) (e+f x))/((f g-e h) (a+b x)))]))/((Sqrt[e+f x]) (Sqrt[(((b g-a h) (c+d x))/((d g-c h) (a+b x)))])))==0

Basis: ((Sqrt[(((b g-a h) (c+d x))/((d g-c h) (a+b x)))])/((((a+b x))^(3/2)) (Sqrt[g+h x]) (Sqrt[(((b g-a h) (e+f x))/((f g-e h) (a+b x)))])))==-(2/(b g-a h))Subst[((Sqrt[1+(((b c-a d) (x^2))/(d g-c h))])/(Sqrt[1+(((b e-a f) (x^2))/(f g-e h))])),x,((Sqrt[g+h x])/(Sqrt[a+b x]))] (∂_x)((Sqrt[g+h x])/(Sqrt[a+b x]))

Rule 1.1.1.4.2.2.2.2.2:

∫((Sqrt[c+d x])/((((a+b x))^(3/2)) (Sqrt[e+f x]) (Sqrt[g+h x])))dx  ⟶  (((Sqrt[c+d x]) (Sqrt[(((b g-a h) (e+f x))/((f g-e h) (a+b x)))]))/((Sqrt[e+f x]) (Sqrt[(((b g-a h) (c+d x))/((d g-c h) (a+b x)))]))) ∫((Sqrt[(((b g-a h) (c+d x))/((d g-c h) (a+b x)))])/((((a+b x))^(3/2)) (Sqrt[g+h x]) (Sqrt[(((b g-a h) (e+f x))/((f g-e h) (a+b x)))])))dx
  ⟶  -((2 (Sqrt[c+d x]) (Sqrt[(((b g-a h) (e+f x))/((f g-e h) (a+b x)))]))/((b g-a h) (Sqrt[e+f x]) (Sqrt[(((b g-a h) (c+d x))/((d g-c h) (a+b x)))]))) Subst[∫((Sqrt[1+(((b c-a d) (x^2))/(d g-c h))])/(Sqrt[1+(((b e-a f) (x^2))/(f g-e h))]))dx,x,((Sqrt[g+h x])/(Sqrt[a+b x]))]

Program code:

(* Int[Sqrt[c_.+d_.*x_]/((a_.+b_.*x_)^(3/2)*Sqrt[e_.+f_.*x_]*Sqrt[g_.+h_.*x_]),x_Symbol] :=
  -2*Sqrt[c+d*x]*Sqrt[(b*g-a*h)*(e+f*x)/((f*g-e*h)*(a+b*x))]/
    ((b*g-a*h)*Sqrt[e+f*x]*Sqrt[(b*g-a*h)*(c+d*x)/((d*g-c*h)*(a+b*x))])*
    Subst[Int[Sqrt[1+(b*c-a*d)*x^2/(d*g-c*h)]/Sqrt[1+(b*e-a*f)*x^2/(f*g-e*h)],x],x,Sqrt[g+h*x]/Sqrt[a+b*x]] /;
FreeQ[{a,b,c,d,e,f,g,h},x] *)

2:  ∫((Sqrt[c+d x])/((((a+b x))^(3/2)) (Sqrt[e+f x]) (Sqrt[g+h x])))dx

Derivation: Piecewise constant extraction and integration by substitution

Basis: (∂_x)(((Sqrt[c+d x]) (Sqrt[-(((b e-a f) (g+h x))/((f g-e h) (a+b x)))]))/( (Sqrt[g+h x]) (Sqrt[(((b e-a f) (c+d x))/((d e-c f) (a+b x)))])))==0

Basis: ((Sqrt[(((b e-a f) (c+d x))/((d e-c f) (a+b x)))])/((((a+b x))^(3/2)) (Sqrt[e+f x]) (Sqrt[-(((b e-a f) (g+h x))/((f g-e h) (a+b x)))])))==-(2/(b e-a f))Subst[((Sqrt[1+(((b c-a d) (x^2))/(d e-c f))])/(Sqrt[1-(((b g-a h) (x^2))/(f g-e h))])),x,((Sqrt[e+f x])/(Sqrt[a+b x]))] (∂_x)((Sqrt[e+f x])/(Sqrt[a+b x]))

Rule 1.1.1.4.2.2.2.2.2:

∫((Sqrt[c+d x])/((((a+b x))^(3/2)) (Sqrt[e+f x]) (Sqrt[g+h x])))dx  ⟶  (((Sqrt[c+d x]) (Sqrt[-(((b e-a f) (g+h x))/((f g-e h) (a+b x)))]))/( (Sqrt[g+h x]) (Sqrt[(((b e-a f) (c+d x))/((d e-c f) (a+b x)))]))) ∫((Sqrt[(((b e-a f) (c+d x))/((d e-c f) (a+b x)))])/((((a+b x))^(3/2)) (Sqrt[e+f x]) (Sqrt[-(((b e-a f) (g+h x))/((f g-e h) (a+b x)))])))dx
  ⟶  -((2 (Sqrt[c+d x]) (Sqrt[-(((b e-a f) (g+h x))/((f g-e h) (a+b x)))]))/( (b e-a f) (Sqrt[g+h x]) (Sqrt[(((b e-a f) (c+d x))/((d e-c f) (a+b x)))]))) Subst[∫((Sqrt[1+(((b c-a d) (x^2))/(d e-c f))])/(Sqrt[1-(((b g-a h) (x^2))/(f g-e h))]))dx,x,((Sqrt[e+f x])/(Sqrt[a+b x]))]

Program code:

Int[Sqrt[c_.+d_.*x_]/((a_.+b_.*x_)^(3/2)*Sqrt[e_.+f_.*x_]*Sqrt[g_.+h_.*x_]),x_Symbol] :=
  -2*Sqrt[c+d*x]*Sqrt[-(b*e-a*f)*(g+h*x)/((f*g-e*h)*(a+b*x))]/
    ((b*e-a*f)*Sqrt[g+h*x]*Sqrt[(b*e-a*f)*(c+d*x)/((d*e-c*f)*(a+b*x))])*
    Subst[Int[Sqrt[1+(b*c-a*d)*x^2/(d*e-c*f)]/Sqrt[1-(b*g-a*h)*x^2/(f*g-e*h)],x],x,Sqrt[e+f*x]/Sqrt[a+b*x]] /;
FreeQ[{a,b,c,d,e,f,g,h},x]

3:  ∫(((((a+b x))^m) (Sqrt[c+d x]))/((Sqrt[e+f x]) (Sqrt[g+h x])))dx  when  2 m∈ℤ ∧ m≤-2

Rule 1.1.1.4.2.2.2.2.3: If  2 m∈ℤ ∧ m≤-2, then

∫(((((a+b x))^m) (Sqrt[c+d x]))/((Sqrt[e+f x]) (Sqrt[g+h x])))dx  ⟶  

((b (((a+b x))^(m+1)) (Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x]))/((m+1) (b e-a f) (b g-a h)))+(1/(2 (m+1) (b e-a f) (b g-a h)))∫((((a+b x))^(m+1))/((Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x])))·
(2 a c f h (m+1)-b (d e g+c (2 m+3) (f g+e h))+2 (a d f h (m+1)-b (m+2) (d f g+d e h+c f h)) x-b d f h (2 m+5) (x^2))dx

Program code:

Int[(a_.+b_.*x_)^m_*Sqrt[c_.+d_.*x_]/(Sqrt[e_.+f_.*x_]*Sqrt[g_.+h_.*x_]),x_Symbol] :=
  b*(a+b*x)^(m+1)*Sqrt[c+d*x]*Sqrt[e+f*x]*Sqrt[g+h*x]/((m+1)*(b*e-a*f)*(b*g-a*h)) + 
  1/(2*(m+1)*(b*e-a*f)*(b*g-a*h))*Int[((a+b*x)^(m+1)/(Sqrt[c+d*x]*Sqrt[e+f*x]*Sqrt[g+h*x]))*
    Simp[2*a*c*f*h*(m+1)-b*(d*e*g+c*(2*m+3)*(f*g+e*h))+2*(a*d*f*h*(m+1)-b*(m+2)*(d*f*g+d*e*h+c*f*h))*x-b*d*f*h*(2*m+5)*x^2,x],x] /;
FreeQ[{a,b,c,d,e,f,g,h,m},x] && IntegerQ[2*m] && LeQ[m,-2]

3:  ∫(((((e+f x))^p)(((g+h x))^q))/((a+b x)(c+d x)))dx  when  0<p<1

Derivation: Algebraic expansion

Basis: ((e+f x)/((a+b x) (c+d x)))==((b e-a f)/((b c-a d) (a+b x)))-((d e-c f)/((b c-a d) (c+d x)))

Rule 1.1.1.4.3: If  0<p<1, then

∫(((((e+f x))^p)(((g+h x))^q))/((a+b x)(c+d x)))dx  ⟶   ((b e-a f)/(b c-a d))∫(((((e+f x))^(p-1))(((g+h x))^q))/(a+b x))dx-((d e-c f)/(b c-a d))∫(((((e+f x))^(p-1))(((g+h x))^q))/(c+d x))dx

Program code:

Int[(e_.+f_.*x_)^p_*(g_.+h_.*x_)^q_/((a_.+b_.*x_)*(c_.+d_.*x_)),x_Symbol] :=
  (b*e-a*f)/(b*c-a*d)*Int[(e+f*x)^(p-1)*(g+h*x)^q/(a+b*x),x] - 
  (d*e-c*f)/(b*c-a*d)*Int[(e+f*x)^(p-1)*(g+h*x)^q/(c+d*x),x] /;
FreeQ[{a,b,c,d,e,f,g,h,q},x] && LtQ[0,p,1]

4:  ∫(((((a+b x))^m) (((c+d x))^n))/((Sqrt[e+f x]) (Sqrt[g+h x])))dx  when  m∈ℤ ∧ n+(1/2)∈ℤ

Derivation: Algebraic expansion

Rule 1.1.1.4.4: If  m∈ℤ ∧ n+(1/2)∈ℤ, then

∫(((((a+b x))^m) (((c+d x))^n))/((Sqrt[e+f x]) (Sqrt[g+h x])))dx  ⟶  ∫(1/((Sqrt[c+d x]) (Sqrt[e+f x]) (Sqrt[g+h x]))) ExpandIntegrand[(((a+b x))^m) (((c+d x))^(n+(1/2))),x]dx

Program code:

Int[(a_.+b_.*x_)^m_.*(c_.+d_.*x_)^n_/(Sqrt[e_.+f_.*x_]*Sqrt[g_.+h_.*x_]),x_Symbol] :=
  Int[ExpandIntegrand[1/(Sqrt[c+d*x]*Sqrt[e+f*x]*Sqrt[g+h*x]),(a+b*x)^m*(c+d*x)^(n+1/2),x],x] /;
FreeQ[{a,b,c,d,e,f,g,h},x] && IntegerQ[m] && IntegerQ[n+1/2]

5:  ∫(((a+b x))^m)(((c+d x))^n)(((e+f x))^p)(((g+h x))^q)dx  when (p|q)∈ℤ

Derivation: Algebraic expansion

Rule 1.1.1.4.5: If  (p|q)∈ℤ, then

∫(((a+b x))^m)(((c+d x))^n)(((e+f x))^p)(((g+h x))^q)dx  ⟶  ∫ExpandIntegrand[(((a+b x))^m)(((c+d x))^n)(((e+f x))^p)(((g+h x))^q),x]dx

Program code:

Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_*(e_.+f_.*x_)^p_*(g_.+h_.*x_)^q_,x_Symbol] :=
  Int[ExpandIntegrand[(a+b*x)^m*(c+d*x)^n*(e+f*x)^p*(g+h*x)^q,x],x] /;
FreeQ[{a,b,c,d,e,f,g,h,m,n},x] && IntegersQ[p,q]

6:  ∫(((a+b x))^m) (((c+d x))^n) (((e+f x))^p) (((g+h x))^q)dx  when  q∈(SuperPlus[ℤ])

Derivation: Algebraic expansion

Basis: g+h x==((h (a+b x))/b)+((b g-a h)/b)

Rule 1.1.1.4.6: If  q∈(SuperPlus[ℤ]), then

∫(((a+b x))^m) (((c+d x))^n) (((e+f x))^p) (((g+h x))^q)dx  ⟶  
(h/b)∫(((a+b x))^(m+1)) (((c+d x))^n) (((e+f x))^p) (((g+h x))^(q-1))dx+((b g-a h)/b)∫(((a+b x))^m) (((c+d x))^n) (((e+f x))^p) (((g+h x))^(q-1))dx

Program code:

Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_*(e_.+f_.*x_)^p_*(g_.+h_.*x_)^q_,x_Symbol] :=
  h/b*Int[(a+b*x)^(m+1)*(c+d*x)^n*(e+f*x)^p*(g+h*x)^(q-1),x] + 
  (b*g-a*h)/b*Int[(a+b*x)^m*(c+d*x)^n*(e+f*x)^p*(g+h*x)^(q-1),x] /;
FreeQ[{a,b,c,d,e,f,g,h,m,n,p},x] && IGtQ[q,0] && (SumSimplerQ[m,1] || Not[SumSimplerQ[n,1]] && Not[SumSimplerQ[p,1]])

C:  ∫(((a+b x))^m)(((c+d x))^n)(((e+f x))^p)(((g+h x))^q)dx

Rule 1.1.1.4.C:

∫(((a+b x))^m)(((c+d x))^n)(((e+f x))^p)(((g+h x))^q)dx  ⟶  ∫(((a+b x))^m)(((c+d x))^n)(((e+f x))^p)(((g+h x))^q)dx

Program code:

Int[(a_.+b_.*x_)^m_.*(c_.+d_.*x_)^n_.*(e_.+f_.*x_)^p_.*(g_.+h_.*x_)^q_.,x_Symbol] :=
  CannotIntegrate[(a+b*x)^m*(c+d*x)^n*(e+f*x)^p*(g+h*x)^q,x] /;
FreeQ[{a,b,c,d,e,f,g,h,m,n,p,q},x]

S:  ∫(((a+b u))^m) (((c+d u))^n)(((e+f u))^p)(((g+h u))^q)dx  when  u==i+j x

Derivation: Integration by substitution

Rule 1.1.1.4.S: If  u==i+j x, then

∫(((a+b u))^m) (((c+d u))^n)(((e+f u))^p)(((g+h u))^q)dx  ⟶  (1/j)Subst[∫(((a+b x))^m) (((c+d x))^n)(((e+f x))^p)(((g+h x))^q)dx,x,u]

Program code:

Int[(a_.+b_.*u_)^m_.*(c_.+d_.*u_)^n_.*(e_.+f_.*u_)^p_.*(g_.+h_.*u_)^q_.,x_Symbol] :=
  1/Coefficient[u,x,1]*Subst[Int[(a+b*x)^m*(c+d*x)^n*(e+f*x)^p*(g+h*x)^q,x],x,u] /;
FreeQ[{a,b,c,d,e,f,g,h,m,n,p,q},x] && LinearQ[u,x] && NeQ[u,x]

Rules for integrands of the form((((((a+b x))^m) (((c+d x))^n) (((e+f x))^p) (((g+h x))^q)))^r)

1:  ∫((((((a+b x))^m) (((c+d x))^n) (((e+f x))^p) (((g+h x))^q)))^r)dx

Derivation: Piecewise constant extraction

Basis: (∂_x)((((i (((a+b x))^m) (((c+d x))^n) (((e+f x))^p) (((g+h x))^q)))^r)/((((a+b x))^(m r)) (((c+d x))^(n r)) (((e+f x))^(p r)) (((g+h x))^(q r))))==0

Rule:

∫(((i (((a+b x))^m) (((c+d x))^n) (((e+f x))^p) (((g+h x))^q)))^r)dx  ⟶  
((((i (((a+b x))^m) (((c+d x))^n) (((e+f x))^p) (((g+h x))^q)))^r)/((((a+b x))^(m r)) (((c+d x))^(n r)) (((e+f x))^(p r)) (((g+h x))^(q r))))∫(((a+b x))^(m r)) (((c+d x))^(n r)) (((e+f x))^(p r)) (((g+h x))^(q r))dx

Program code:

Int[(i_.*(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_*(e_.+f_.*x_)^p_*(g_.+h_.*x_)^q_)^r_,x_Symbol] :=
  (i*(a+b*x)^m*(c+d*x)^n*(e+f*x)^p*(g+h*x)^q)^r/((a+b*x)^(m*r)*(c+d*x)^(n*r)*(e+f*x)^(p*r)*(g+h*x)^(q*r))*
    Int[(a+b*x)^(m*r)*(c+d*x)^(n*r)*(e+f*x)^(p*r)*(g+h*x)^(q*r),x] /;
FreeQ[{a,b,c,d,e,f,g,h,i,m,n,p,q,r},x]

Normalize linear products

1:  ∫(u^m)dx  when  u==a+b x

Derivation: Algebraic normalization

Rule: If  u==a+b x, then

∫(u^m)dx  ⟶  ∫(((a+b x))^m)dx

Program code:

Int[u_^m_,x_Symbol] :=
  Int[ExpandToSum[u,x]^m,x] /;
FreeQ[m,x] && LinearQ[u,x] && Not[LinearMatchQ[u,x]]

2:  ∫(u^m)(v^n)dx  when  u==a+b x ∧ v==c+d x

Derivation: Algebraic normalization

Rule: If  u==a+b x ∧ v==c+d x, then

∫(u^m)(v^n)dx  ⟶  ∫(((a+b x))^m) (((c+d x))^n)dx

Program code:

Int[u_^m_.*v_^n_.,x_Symbol] :=
  Int[ExpandToSum[u,x]^m*ExpandToSum[v,x]^n,x] /;
FreeQ[{m,n},x] && LinearQ[{u,v},x] && Not[LinearMatchQ[{u,v},x]]

3:  ∫(u^m)(v^n)(w^p)dx  when  u==a+b x ∧ v==c+d x ∧ w==e+f x

Derivation: Algebraic normalization

Rule: If  u==a+b x ∧ v==c+d x ∧ w==e+f x, then

∫(u^m)(v^n)(w^p)dx  ⟶  ∫(((a+b x))^m) (((c+d x))^n)(((e+f x))^p)dx

Program code:

Int[u_^m_.*v_^n_.*w_^p_.,x_Symbol] :=
  Int[ExpandToSum[u,x]^m*ExpandToSum[v,x]^n*ExpandToSum[w,x]^p,x] /;
FreeQ[{m,n,p},x] && LinearQ[{u,v,w},x] && Not[LinearMatchQ[{u,v,w},x]]

4:  ∫(u^m)(v^n)(w^p)(z^q)dx  when  u==a+b x ∧ v==c+d x ∧ w==e+f x ∧ z==g+h x

Derivation: Algebraic normalization

Rule: If  u==a+b x ∧ v==c+d x ∧ w==e+f x ∧ z==g+h x, then

∫(u^m)(v^n)(w^p)(z^q)dx  ⟶  ∫(((a+b x))^m) (((c+d x))^n)(((e+f x))^p)(((g+h x))^q)dx

Program code:

Int[u_^m_.*v_^n_.*w_^p_.*z_^q_.,x_Symbol] :=
  Int[ExpandToSum[u,x]^m*ExpandToSum[v,x]^n*ExpandToSum[w,x]^p*ExpandToSum[z,x]^q,x] /;
FreeQ[{m,n,p,q},x] && LinearQ[{u,v,w,z},x] && Not[LinearMatchQ[{u,v,w,z},x]]